const App = getApp();
import MYJS from '../../utils/myinit.js';
Page({
    data: {
      showSendDiv:false, // 赠送好友弹出框是否打开
      nowXuanQaObj:{},
      nowXuanIndex:0,
      sendFriendUid:"",
      nowClickBuyID:0,
      findErrorStr:"",
      findFriendObj:null,

      dataType: 2, // 列表类型  试卷状态 -1:所有状态，1：未答题/可赠送，3：已答过或者答过中，5：已送出，7：好友送我
      list: [], // 订单列表
      scrollHeight: null, // 列表容器高度
      YU:'',
      myUID:0,

      shareImg:'',  //分享此页的缩略图
      nowQaid:0,
      sharePath: '/pages/index/index',
      shareTitle:'答题挣积分，积分换礼品', //分享此页的标题

      no_more: false, // 是否显示 没有更多数据
      isLoading: true, // 是否正在加载中
      page: 1, // 当前页码
    },
    onLoad: function(options) {
      this.setData({isLogin: App.checkIsLogin()});
      //其实不用此判断，接口返回未找到用户错误，会自动调用登录弹出框界面
      if(!this.data.isLogin){
        App.doLogin();
      }
      else{
        let _this = this;
        // 设置scroll-view高度
        _this.setListHeight();
        // 设置数据类型
        _this.setData({
          YU:App.YU,
          myUID:wx.getStorageSync('user_id'),
          dataType: options.type || 2
        });
        // 设置navbar标题、颜色
        App.setNavigationBar();
  
        _this.initShareImg();
      }
    },
    initShareImg(){
      let _this = this;
      // 获取随机的商品图片
      App._get('askanswer/getRandGoodImg', {page_id:0}, result => {
        var list = result.data.list;
        _this.setData({shareImg:list[0]['file_img_allpath']});
      });
    },
    /** 生命周期函数--监听页面显示 */
    onShow() {
      let _this=this;
      // 获取订单列表
      this.getOrderList();
      App.pageOnLoad(this);
      var wxapp=wx.getStorageSync('wxapp');
      var ywd = wxapp['ywd'];
      // 每次分享后显示，
      _this.setData({nowQaid:0,shareTitle:"答题挣积分，积分换礼品", sharePath:"/pages/index/index", fromShare:'no'});
    },
    /** 切换标签 */
    bindHeaderTap(e) {
      this.setData({
        dataType: e.currentTarget.dataset.type,
        list: [],
        isLoading: true,
        page: 1,
        no_more: false,
      });
      // 获取订单列表
      this.getOrderList(e.currentTarget.dataset.type);
    },
    /** 获取订单列表 */
    getOrderList(isPage, page) {
      let _this = this;
      App._get('askanswer/myQaList', {
        page: page || 1,
        dataType: _this.data.dataType
      }, result => {
        let resList = result.data.list,
          dataList = _this.data.list;
        if (isPage == true) {
          _this.setData({
            list: dataList.concat(resList),
            isLoading: false,
            no_more:false,
          });
        } else {
          _this.setData({
            list: resList,
            isLoading: false,
            no_more:false,
          });
        }
        // 是否显示没有任何数据，wxml中根据isLoading和list.length判断
        // 是否显示没有更多数据
        if (this.data.page>1 && resList.length==0) {
          this.setData({no_more: true});
        }
      });
    },
    onPullDownRefresh() {
      wx.stopPullDownRefresh();
    },
    /** 下拉到底加载数据 */
    bindDownLoad() {
      // 已经是最后一页
      if (this.data.no_more==true) {
        return false;
      }
      // 加载下一页列表
      this.getOrderList(true, ++this.data.page);
    },
    /** 设置商品列表高度 */
    setListHeight() {
      let systemInfo = wx.getSystemInfoSync(),
        rpx = systemInfo.windowWidth / 750, // 计算rpx
        tapHeight = Math.floor(rpx * 88), // tap高度
        scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
      this.setData({
        scrollHeight
      });
    },
    /** 跳转到开始答题页 */
    begAnswer(e){
      let buyid = e.currentTarget.dataset.buyid
      if(buyid>0){
        wx.navigateTo({
          url: '/pages/studycenter/beganswer?buyid=' + buyid
        })
      }
    },
    /** 跳转到的试题详情页面 */
    jumpQaInfo(e){
      let qaid = e.currentTarget.dataset.qaid
      let buyid = e.currentTarget.dataset.buyid
      if(qaid>0){
        wx.navigateTo({
          url: '/pages/studycenter/allqainfo?qaid=' + qaid+'&buyid='+buyid
        })
      }
    },
    /** 点击赠送好友，打开送好友弹出框 */
    showSendFriend(e){
      // 方法一：运行以下代码，需关闭 open-type="share"
      // 以下是弹出层输入好友id号赠送
      // let _this = this;
      // let buyid = e.currentTarget.dataset.buyid
      // let index = e.currentTarget.dataset.index
      // var _nowXuanQaObj = this.data.list[index];
      // var show = this.data.showSendDiv;
      // this.setData({showSendDiv:!show, nowClickBuyID:buyid, nowXuanIndex:index, nowXuanQaObj:_nowXuanQaObj, findFriendObj:null, findErrorStr:""});

      // 方法二：运行以下代码，需开启 open-type="share"
      // 以下是打开分享框直接赠送，目前腾讯关闭了分享成功失败回调，暂无更好的解决方法
      let qaid = e.currentTarget.dataset.qaid
      let buyid = e.currentTarget.dataset.buyid
      let index = e.currentTarget.dataset.index
      var nowPath = "/pages/studycenter/allqainfo?" + App.getShareUrlParams({qaid:qaid,
        buyid:buyid,senduid:wx.getStorageSync('user_id'),fromShare:'yes'});
      this.setData({nowQaid:qaid,nowClickBuyID:buyid, nowXuanIndex:index, shareTitle:"好友送您积分换礼品，快来答题领取吧",sharePath:nowPath, fromShare:'yes'});
      this.initShareImg();
      this.openShare();
    },
    openShare: function () {
      let _this = this;
      wx.showShareMenu({
        withShareTicket: true,
        success: function (res) {
          _this.sendQaBoxInit();
          console.log('分享界面打开成功', res);
        },
        fail: function (res) {
          console.log('分享界面打开', res);
        }
      });
    },
    //开始执行赠送逻辑接口，修改试题为赠送中的状态
    sendQaBoxInit(){
      let _this = this
      if(_this.data.nowQaid>0){
          App._get('askanswer/qaSending', {qaid:_this.data.nowQaid,buyid:_this.data.nowClickBuyID}, result => {
            console.log('试卷赠送状态修改成功',result)
          });
          //只要点击赠送了，就不能再答题了
          var _nowXuanIndex = _this.data.nowXuanIndex;
          var _list = _this.data.list;
          _list[_nowXuanIndex]['box_send_status'] = 4;
          _this.setData({list:_list});
      }
      else{
          console.log('赠送的试卷没有获得正常的id号');
      }
    },
    onShareCancel: function () {
      //如果
      console.log('取消分享');
    },
    /** 绑定输入值 */
    getSearchContent: function(e) {
      this.data.sendFriendUid = e.detail.value;
    },
    /** 查找用户 */
    findSendUser(){
      var fuid = this.data.sendFriendUid;
      if(fuid==""){
        this.setData({findErrorStr:"请输入好友ID号"});
        return false;
      }
      else{
        App._get('askanswer/getFriendObj', { fuid: fuid }, result => {
          var friendObj = result.data.friendObj;
          if(friendObj==null){
            this.setData({findErrorStr:"该用户不存在，请检查用户ID"});
          }
          else if(friendObj==-1){
            this.setData({findErrorStr:"ID不是是自己的，请输入好友的ID号"});
          }
          else{
            this.setData({findErrorStr:"", findFriendObj:friendObj});
          }
        });
      }
    },
    /** 确定赠送 */
    toSendFun(){
      let _this = this;
      var findFriendObj = this.data.findFriendObj;
      var nowClickBuyID = this.data.nowClickBuyID;
      if(findFriendObj!=null && findFriendObj!=-1){
        if(nowClickBuyID==0){
          this.setData({findErrorStr:"请选择要赠送的问答"});
        }
        // 开始赠送逻辑，赠送成功后，关闭当前框
        else{
          App._get('askanswer/sendQaToFriend', { buyid: nowClickBuyID, frienduid:findFriendObj.user_id }, result => {
            App.showSuccess('赠送成功', function(){
              // 刷新当前的数据状态
              var _list = _this.data.list;
              var _nowXuanIndex = _this.data.nowXuanIndex;
              _list[_nowXuanIndex]['box_status'] = 5;
              _list[_nowXuanIndex]['from_uid'] = _this.data.myUID;
              _list[_nowXuanIndex]['buy_uid'] = findFriendObj.user_id;
              _list[_nowXuanIndex]['buy_unick'] = findFriendObj.nickName;
              _this.setData({list:_list});
              _this.onClosePopup();
            });
          });
        }
      }
      else{
        this.setData({findErrorStr:"请输入好友ID查找好友"});
      }
    },
    onShareAppMessage() {
      const _this = this;
      return {
        title: _this.data.shareTitle,
        imageUrl: _this.data.shareImg,
        path: _this.data.sharePath,
        success: function () {
          console.log('分享成功');
        },
        fail: function (res) {
          console.log('分享失败', res);
        },
        complete: function () {
          console.log('分享完成');
        }
      };
    },
    onShareTimeline(e) {
      const _this = this;
      return {
        title: _this.data.shareTitle,
        imageUrl: _this.data.shareImg,
        path: _this.data.sharePath,
        success: function () {
          console.log('分享成功朋友圈');
        },
        fail: function (res) {
          console.log('分享失败朋友圈', res);
        },
        complete: function () {
          console.log('分享完成朋友圈');
        }
      };
    },
    onClosePopup(){
      this.setData({showSendDiv:false});
    },
});